package com.mojian.service;

import com.mojian.common.Result;
import com.mojian.model.vo.MemberOrderVO;
import com.mojian.model.vo.MemberPlanVO;
import com.mojian.model.vo.MemberUserVO;

import java.util.List;
import java.util.Map;

/**
 * 会员服务接口
 */
public interface MemberService {

    /**
     * 创建会员订单
     * @param orderVO 订单信息
     * @return 订单结果，包含二维码URL
     */
    Result<MemberOrderVO> createMemberOrder(MemberOrderVO orderVO);

    /**
     * 查询订单状态
     * @param orderNo 订单号
     * @return 订单状态
     */
    Result<MemberOrderVO> checkOrderStatus(String orderNo);

    /**
     * 处理支付宝异步通知
     * @param params 通知参数
     * @return 处理结果
     */
    String handleAlipayNotify(Map<String, String> params);
    
    /**
     * 获取会员套餐列表
     * @return 套餐列表
     */
    Result<List<MemberPlanVO>> getMemberPlans();
    
    /**
     * 获取当前用户会员信息
     * @return 会员信息
     */
    Result<MemberUserVO> getCurrentMemberInfo();
    
    /**
     * 激活用户会员
     * @param userId 用户ID
     * @param days 有效期天数
     * @return 激活结果
     */
    boolean activateMembership(Long userId, Integer days);
} 